package com.ruoyi.dangerControl.service.impl;

import java.util.List;

import com.ruoyi.common.core.page.TableSupport;
import com.ruoyi.dangerControl.domain.HdProcessRecord;
import com.ruoyi.dangerControl.dto.HdProcessDto;
import com.ruoyi.dangerControl.mapper.HdProcessRecordMapper;
import com.ruoyi.dangerControl.vo.HdProcessVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.dangerControl.mapper.HdProcessMapper;
import com.ruoyi.dangerControl.domain.HdProcess;
import com.ruoyi.dangerControl.service.IHdProcessService;

/**
 * 隐患-过程管理Service业务层处理
 *
 * @author lth
 * @date 2023-12-13
 */
@Service
public class HdProcessServiceImpl implements IHdProcessService
{
    @Autowired
    private HdProcessMapper hdProcessMapper;

    @Autowired
    private HdProcessRecordMapper hdProcessRecordMapper;

    /**
     * 查询隐患-过程管理
     *
     * @param id 隐患-过程管理主键
     * @return 隐患-过程管理
     */
    @Override
    public HdProcess selectHdProcessById(Long id)
    {
        return hdProcessMapper.selectHdProcessById(id);
    }

    /**
     * 查询隐患-过程管理列表
     *
     * @param hdProcess 隐患-过程管理
     * @return 隐患-过程管理
     */
    @Override
    public List<HdProcess> selectHdProcessList(HdProcess hdProcess)
    {
        return hdProcessMapper.selectHdProcessList(hdProcess);
    }

    /**
     * 新增隐患-过程管理
     *
     * @param hdProcess 隐患-过程管理
     * @return 结果
     */
    @Override
    public int insertHdProcess(HdProcess hdProcess)
    {
        return hdProcessMapper.insertHdProcess(hdProcess);
    }

    /**
     * 修改隐患-过程管理
     *
     * @param hdProcess 隐患-过程管理
     * @return 结果
     */
    @Override
    public int updateHdProcess(HdProcess hdProcess)
    {
        return hdProcessMapper.updateHdProcess(hdProcess);
    }

    /**
     * 批量删除隐患-过程管理
     *
     * @param ids 需要删除的隐患-过程管理主键
     * @return 结果
     */
    @Override
    public int deleteHdProcessByIds(Long[] ids)
    {
        return hdProcessMapper.deleteHdProcessByIds(ids);
    }

    /**
     * 删除隐患-过程管理信息
     *
     * @param id 隐患-过程管理主键
     * @return 结果
     */
    @Override
    public int deleteHdProcessById(Long id)
    {
        return hdProcessMapper.deleteHdProcessById(id);
    }


    /**
     * 查询隐患-过程管理列表
     */
    @Override
    public List<HdProcess> listByStatus(HdProcessVo vo) {
        String rectificationStatus = vo.getRectificationStatus();
        List<HdProcess> hdProcessList = hdProcessMapper.listByStatus(rectificationStatus);
        return hdProcessList;
    }

    /**
     * 流转记录
     */
    @Override
    public HdProcessDto operatePage(HdProcessVo vo) {
        List<HdProcessRecord> hdProcessRecordList = hdProcessRecordMapper.operatePageList(vo.getId());
        HdProcess hdProcessInfo = hdProcessMapper.selectHdProcessById(vo.getId());
        System.out.println("hdProcessInfo"+hdProcessInfo);


        HdProcessDto hdProcessDto = new HdProcessDto();
        hdProcessDto.setCurrentNodeBy(hdProcessInfo.getHeaderId());
        hdProcessDto.setCurrentNode(hdProcessInfo.getCurrentNode());
        hdProcessDto.setPageSize(TableSupport.buildPageRequest().getPageSize());
        hdProcessDto.setCurrentNodeByName(hdProcessInfo.getCurrentNodeByName());
        hdProcessDto.setList(hdProcessRecordList);
        hdProcessDto.setInfo(hdProcessInfo);

        return hdProcessDto;
    }


}
